home *** CD-ROM | disk | FTP | other *** search
- ;****
- ;**** Multi Scrolling par Xavier Leclercq Pour A-NEWS
- ;****
-
- Place =$7f4d0
- Pointeur=$100
-
- Main:
- move.l $4,a6
- move.w #$0020,$dff096 ;Mouse OFF
- move.l #Place,a1 ;Il faut placer le prg en Chip!
- lea Main(pc),a0 ;Début du PRG
- move.l #Finprg-Main,d0
-
- Copie:
- move.b (a0)+,(a1)+
- dbf d0,Copie
-
- jmp Place+GO-Main ;Saut au programme proprement dit...
-
- Go:
- move.l $04,a6
- move.l (a6),a6 ;--->>> POUR ICI VOIR BIDOUILLES!!!
- move.l (a6),a6 ;GfxBase en a6...
-
- move.l 50(a6),Place+oldclist-Main
- move.l #Place+newclist-Main,50(a6)
- lea bitmap(pc),a0
- move.l #$01,d0 ;Un BitPlan=2 Couleurs
- move.l #336,d1 ;Largeur 336 Pixels
- move.l #200,d2 ;Hauteur 200 Pixels
- jsr -390(a6) ;InitBitPlan
-
- move.l #$60000,Place+plane1-Main
- lea rastport(pc),a1
- jsr -198(a6) ;InitRastport
- move.l #Place+bitmap-Main,Place+r_bitmap-Main
-
- lea TopazFont(pc),a0
- jsr -$48(a6) ;OpenFont
- move.l d0,a0
- lea RastPort(pc),a1
- jsr -$42(a6) ;SetFont
-
- jsr -48(a6)
- move.l #Place+Message-Main,Pointeur
- move.l $6c,Place+oldirq+2-Main
- move.l #Place+newirq-Main,$6c
-
- wait:
- btst #6,$bfe001
- bne.s wait
-
- move.w #$8020,$dff096 ;Mouse ON
- move.l Place+oldirq+2-Main,$6c
- move.l Place+oldclist-Main,50(a6)
-
- moveq #0,d0 ;Pas d'erreur pour le CLI...
- rts ;Retour au CLI
-
-
- newirq:
- movem.l d0-d7/a0-a6,-(sp)
- move.l $4,a6
- move.l (a6),a6 ;---->>> VOIR ARTICLE BIDOUILLES
- move.l (a6),a6 ;GfxBase en a6
-
- lea rastport(pc),a1
- move.l #$02,d0 ;Vitesse...
- moveq #$0,d1
- clr.l d2
- move.l #0,d3
- move.l #336,d4
- move.l #336,d5
- jsr -396(a6) ;Scroll Rastport :Tout l'écran!!
- sub.b #$01,Place+rows-Main
- bne.s Sort
- move.b #$04,Place+rows-Main ;Espace entre chaque Lettre
- ;doit etre en fonction de la vitesse!
- subi.l d5,d5
-
- BoucleImprime:
- addi.l #32,d5 ;Position Horizontale +32
- bsr.s Imprime
- cmpi.l #32*6,d5 ;déjà six scrollings??
- bmi.s BoucleImprime ;Non BoucleImprime
-
- addq.l #$01,Pointeur ;Pointeur de texte+1
- cmp.l #Place+MessageFin-Main,Pointeur
- blt.s Sort
- move.l #Place+Message-Main,Pointeur ;Et on recommence...
-
- Sort:
- movem.l (sp)+,d0-d7/a0-a6
- oldirq:
- jmp $00000000
-
- Imprime:
- lea rastport(pc),a1
- move.l #1,d0
- jsr -342(a6) ;SetApen => 1 Couleur=Blanc
- move.l #324,d0 ;Position X =324
- move.l d5,d1 ;Position Y =Multiple de 32(Voir plus Haut!)
- jsr -240(a6) ;Move
- lea rastport(pc),a1
- move.l Pointeur,a0 ;Pointeur de Texte
- move.l #$01,d0 ;Imprime 1 Caractère
- jsr -60(a6) ;Text
- rts
-
- Message:
- dc.b "Deux tomates traversent une rue et l'une d'entre-elles est "
- dc.b "écrasée...(snif!!).L'autre lui crie <Tu viens Jus-Jus?..> "
- dc.b " "
- dc.b "Quelle est la marque de voiture employée par les Ethiopiens? "
- dc.b "REP:Une OSmobile... "
- dc.b " "
- dc.b "Une famille de nègres traversent une rivière magique pour se "
- dc.b "retrouver de l'autre coté Blanc.Tout le monde passe sauf le "
- dc.b "petit dernier qui meurt noyé.La mère pleure.Le père répond: "
- dc.b "<Allons mamman tu ne vas pas pleurer pour un pauv' nègre>..."
- dc.b " "
- MessageFin:
- even
-
- DosName: dc.b "dos.library",0
-
- Newclist:
- dc.w $0100,$1200,$0102,$0000
- dc.w $00e0,$0006,$00e2,$0000
- dc.w $008e,$2c11,$0090,$00c0
- dc.w $0092,$0038,$0094,$00d8
- dc.w $0182,$0fff ;texte =Blanc
- dc.w $0180,$00a0 ;Fond =Vert
- dc.w $ffff,$fffe ;Fin Copper List
- even
-
- TopazFont: dc.l Topaz ;Topaz en ROM de taille 9
- dc.b 0,9,0,0
- Topaz: dc.b "topaz.font",0
- even
-
- oldclist: dc.l 0
- bitmap: blk.w 4,0
- plane1: dc.l 0
- rastport: dc.l 0
- r_bitmap:
- blk.l 19,0
- rows: dc.b 2
- even
- FinPrg: